package com.example.java_chatroom.model;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface MessageSessionMapper {
    //根据用户id获取当前用户都包含在哪些会话中(用处：显示登录后左侧区域的会话列表)
    List<Integer> getSessionIdsByuserId(int userId);

    //根据sessionId来获取这个会话中都包含了哪些用户但不包含自己
    List<Friend> getFriendsBySessionId(int sessionId, int selfUserId);


    // 向message_session表中插入记录，并且获取相应的sessionId
    // 这个sessionId是通过insert标签中useGeneratedKeys="true" keyProperty="sessionId"这两个属性来获取到自增主键
    // 返回的int表示插入了几行
    int addMessageSession(MessageSession messageSession);

    //向message_session_user表中插入记录
    int addMessageSessionUser(MessageSessionUserItem messageSessionUserItem);

    //通过sessionId删除message_session_user中的两条记录，同时删除message_session中的相应记录
    int deleteSessionBySessionId(int sessionId);
    int deleteSessionUserBySessionId(int sessionId);
    int deleteSessionMessageBySessionId(int sessionId);
}
